package com.tungse.study.single;

/**
 * 单例模式的饿汉式实现
 * 直接创建在类内部创建一个对象，并将构造方法私有化
 * 对外提供一个获取该对象的静态方法
 *
 * instance对象是随着类的加载而创建的。如果该对象足够大的话，而一直没有使用就会造成内存的浪费。
 * @author Tungse
 */
public class Demo1_EHanSingleton {

    //私有化构造方法
    private Demo1_EHanSingleton() {
    }

    //初始单例对象
    //直接初始化 或者 静态代码块初始化 都是可以的
//    private static final Demo1_EHanSingleton instance = new Demo1_EHanSingleton();
    private static final Demo1_EHanSingleton INSTANCE;
    static {
        INSTANCE = new Demo1_EHanSingleton();
    }

    //对外提供获取单例对象的静态方法
    public static Demo1_EHanSingleton getInstance() {
        return INSTANCE;
    }




    public void showMessage(){
        System.out.println("Hello World!");
    }
}
